您好,我是RoR的初学者,在生成特定模型时遇到了一些麻烦。我想创建2个模型-列表和项目。该列表有_许多项目和项目属于_列表。我希望Item模型具有3个属性。railsgmodelItemname:stringdesc:stringdate:????1.为date:???添加什么数据类型2.日期属性的格式是什么?(mm/dd/yy)?3.它应该有什么样的表单输入?f.date_field:date?提前致谢! 最佳答案 1。要为date:???添加什么数据类型在您的迁移中,您可以使用以下类型的列::string,:text,:inte
我有一组ActiveRecord对象。我希望能够为这些对象中的每一个运行所有验证,而无需将它们实际保存到数据库中。我只想知道如果我将它们保存到数据库中它们是否有效。换句话说,我基本上想为我的每个对象填充errors数据结构。有没有办法做到这一点?或者我可能遗漏了一些关于errors集合的生命周期的信息? 最佳答案 您可以执行以下操作来检查模型是否有效:@user=User.newif@user.valid?#dothings如果你想看看错误是什么,你可以这样做:@user=User.newunless@user.valid?@use
我有一个结算,我想判断return_service_date是不是今天,怎么办?这是我的代码(rails):ifsettlement.return_service_date&&settlement.return_service_date.to_s(:date)==Time.now.to_s(:date)有更好的方法吗? 最佳答案 在Rails中,youcando:settlement.return_service_date.today? 关于ruby-on-rails-如何判断一个时间/
我想验证我的用户,因此他们只能在用户名中使用a-z和-。validates_format_of:username,:with=>/[a-z]/然而这条规则也允许空格._@Usernameshoulduseonlyletters,numbers,spaces,and.-_@please.有什么想法吗?最好的问候。阿斯比约恩莫雷尔 最佳答案 您可能需要说整个字符串必须匹配:validates_format_of:username,:with=>/^[-a-z]+$/如果您不想在开始/结束处匹配换行符,您可能还需要将^替换为\A并将$替换
我需要在几个月的范围内每月创建日志文件。因此我需要给定范围内的所有[year,month]元组如何迭代日期?如果我每天都需要迭代,怎么办? 最佳答案 例如:((Date.today-90)..Date.today).map{|d|[d.year,d.month]}.uniq#=>[[2012,12],[2013,1],[2013,2],[2013,3]] 关于ruby-在ruby中创建两个日期之间的月份范围,我们在StackOverflow上找到一个类似的问题:
我有一个名为last_profile_update的DATETIME列。我需要用当前时间更新它。我有以下代码:user=User.newuser.last_profile_update=Date.todayuser.save但它不起作用。 最佳答案 也许是一种简化该代码的方法:user=User.create(:last_profile_update=>Time.now) 关于ruby-on-rails-如何在Rails3中为DATETIME列保存当前日期/时间?,我们在StackOve
我有一个类似“2011-06-02T23:59:59+05:30”的字符串。我想将它转换为日期格式,只需要解析日期“2011-06-02”。 最佳答案 对于Ruby1.9.2:require'date'#Ifnotalreadyrequired.IfinRailsthenyoudon'tneedthisline).putsDateTime.parse("2011-06-02T23:59:59+05:30").to_date.to_s 关于Ruby-将字符串转换为日期,我们在StackOv
我发现一些帖子暗示您可以使用nokogirigem根据其DTD验证XHTML。虽然我已经成功地使用它来解析XHTML(寻找“a”标签等),但我正在努力验证文档。对我来说,这是:doc=Nokogiri::XML(Net::HTTP.get(URI.parse("http://www.w3.org")))putsdoc.validate结果是:[#,#,#,#,#,#所以我假设这不是正确的方法。我似乎找不到任何好的例子-谁能指出我做错了什么?我在MacOSX10.5.8上运行ruby1.8.6。Nokogiri告诉我:nokogiri:1.3.3warnings:[]libxml:c
我在美国,我们通常将日期格式化为“月/日/年”。我试图确保我的Rails应用程序(使用Ruby1.9)在任何地方都采用这种格式,并按照它在Ruby1.8下的方式工作。我知道很多人都有这个问题,所以我想在这里创建一个权威指南。具体来说:“04/01/2011”是2011年4月1日,而不是2011年1月4日。“4/1/2011”也是2011年4月1日-不需要前导零。我该怎么做?这是我目前所拥有的。控制Date#to_s行为我在application.rb中有这一行:#Formatourdateslike"12/25/2011'Date::DATE_FORMATS[:default]='%m
我有一个猜测表,每个猜测中只有一个日期。我想知道如何将两个或多个日期转换为平均值。类似这样的事情,但显然Ruby不会让我划分两个日期。 最佳答案 Date有点难用,你应该用Time。尝试将日期转换为时间:require'time'foo_time=Time.parse(foo.to_s)bar_time=Time.parse(bar.to_s)将它们转换为时间戳,然后计算平均值,然后转换回时间:avg=Time.at((foo_time.to_f+bar_time.to_f)/2)您可以将其转换回日期:avg_date=Date.p